Workshops / Hintergrundberichte / Buchvorstellungen --------------------------------------------------- 1. Workshop: AFPL Ghostscript 6.50 - Teil 3 (von Uwe Pannecke) Crash-Kurs durch die Ghostscript-Untiefen 1. Dokumentenschau Bleiben wir zu Beginn unseres dritten Teils noch ein wenig bei der Anzeige von Postscript- und PDF-Dokumenten. 1.1 DOpus - des geisterhaften Interpreters Freund Bisher haben wir uns vorrangig über die Shell mit Ghostscript verständigt. Das wird auch im Wesentlichen für den grundsätzlichen Einstieg in den Umgang mit dem Programm so bleiben. Doch sollen im alltäglichen Einsatz PS- und PDF-Dateien möglichst schnell und aufwandsarm auf dem Bildschirm gezaubert werden, bietet sich die Einbindung des Interpreters in Dateimanager wie etwa Directory Opus an. Nachfolgend ein Beispiel für die DOpus-Konfiguration zur Anzeige von PS- Dateien. Sinngemäß könnt ihr die Ausführungen selbstverständlich ebenso auf die Anzeige von PDF-Dokumenten übertragen. Startet also DOpus und wählt im Menü den Abschnitt "Einstellungen" und dort den Unterpunkt "Dateitypen...". Screenshot: In selbigem definieren wir nun einen passenden Dateityp "Postscript", der DOpus in die Lage versetzten wird, bei Doppelklick auf eine PS-Datei automatisch Ghostscript mit der Anzeige der Datei zu beauftragen. Also klickt auf den Button "Add". Sogleich öffnen sich zwei Fenster. Wir wenden uns dem Dateityp-Fenster zu, erkennbar an der oberen Zeile mit den Einträgen "Namen", "ID" und "PRI". In das Feld hinter "Name" tragt ihr eine aussagekräftige Bezeichnung, unter der der Dateityp aufgelistet werden soll, ein. Angemessen ist sicherlich "Postscript". Hinter "ID" tippt ihr "PS" ein und "Pri" bleibt auf der Vorgabe "0". Wichtig ist nun, DOpus mitzuteilen, woran der Dateimanager erkennen soll, dass es sich um eine Postscript-Datei handelt. Wählt mit einem Klick auf das Schubladen-Symbol den Eintrag "Match Name" aus und fügt in der Zeile die charakteristische Dateiendung mit dem Eintrag "#?.ps" hinzu. Ein Klick auf "Use" schließt die Definition ab. Screenshot: Übrig bleibt nun noch das Ereignis-Fenster, in dem ihr festlegt, was DOpus bei einer bestimmten Aktion mit der angewählten Datei machen soll. Wir haken "Doubleclick" ab und wählen anschließend den Button "Edit". Im sich daraufhin öffnenden Fenster veranlassen wir in zwei Zeilen die Anlage eines ausreichenden Stapelspeichers für den Interpreter und übergeben Ghostscript mit "{f}" die später im Dateilister ausgewählte Datei. Zusätzlich haken wir die Option "Output to window" ab und veranlassen so Ghostscript, das Anzeige-Fenster so lange offen zu lassen, bis wir es explizit schließen. Screenshot: Mit drei letzten Mausklicks auf "Use", noch einmal "Use" und "Save" ist die Konfiguration abgeschlossen. 1.2 Zeig mir deine Schokoladenseiten Zwischenzeitlich werden die Ghostscript-Freunde unter euch vielleicht schon diverse PDF-Dokumente betrachtet oder auch gedruckt haben. Nicht immer möchte man den kompletten Umfang des Dokuments nutzen. Sollen von solch einer Datei nur bestimmte Seiten angezeigt oder zu Papier gebracht werden, kann Ghostscript selbstverständlich die entsprechende Auswahl vornehmen. Die passenden Aufrufoptionen sind in diesem Fall "-dFirstPage=AnfangsSeitennummer" und "-dLastPage=EndSeitennummer". Wie ihr sicher schon während ersten Experimenten bei der Ghostscript- Nutzung bemerkt habt, besteht das Programm Amiga-unüblich (dafür aber Unix/Linux-typisch) auf eine peinlich genaue Beachtung der Groß- und Kleinschreibung in der Syntax. 2. Eine Bildershow mit Ghostscript Ghostscript kann nicht nur mit PS- und PDF-Dokumenten umgehen. Ebenso ist der Interpreter in der Lage, Bilder im GIF-, JPEG-, PBM-, PCX- und CMYK- Format direkt ohne vorherige Konvertierung auf dem Bildschirm auszugeben. In solchen Fällen bedient sich der Interpreter der im Ghostscript-eigenen "Libs"-Verzeichnis abgelegten Hilfsprogramme "viewgif.ps", "viewjpeg.ps", "viewpbm.ps", "viewjpeg.ps", "viewpcx.ps" und "viewcmyk.ps". Die entsprechende Syntax der Befehle werden wir uns mit der Anzeige eines JPEG-Bilds verdeutlichen. Sinngemäß sind die restlichen unterstützten Formate zu handhaben. Wir begeben uns also wieder in die Shell, beamen uns mittels "cd Ghostscript:" in das Interpreter-Verzeichnis und setzen mit "stack 200000" den Stapelspeicher auf eine ausreichende Höhe. Anschließend starten wir Ghostscript und übergeben dem Programm dabei mit "gs viewjpeg.ps" eine PS-Hilfsdatei, die den Interpreter in die Lage versetzt, das entsprechende Bildformat anzuzeigen. Die eigentliche Bildschirmpräsentation erfolgt im interaktiven Dialog mit dem Interpreter durch den Aufruf "(Bildname.jpg) viewJPEG". Screenshot: Analog könnt ihr mit allen unterstützen Bildformaten verfahren, beachtet dabei wieder wie gehabt die korrekte Groß- und Kleinschreibung, also beispielsweise "(Bildname.gif) viewGIF". 3. Konvertieren, bis der Prozessor glüht Eine weitere interessante Seite des Postscript-Interpreters ist seine Fähigkeit, bestimmte Dateiformate ineinander umwandeln zu können. Nachfolgend einige Möglichkeiten zur Anregung für eigene Experimente: 3.1 Adobe Illustrator Wer seine PS-Dateien in das Grafikformat "AI" des Adobe Illustrator umwandeln möchte, bedient sich des Hilfsprogramms "ps2ai.ps", zu finden wiederum im "libs"-Verzeichnis. Wir wollen im Zusammenspiel von "ps2ai.ps" und Ghostscript den allseits bekannten Tiger aus der "Examples"-Schublade in eine Adobe Illustrator- Datei transformieren. Da die Kommandofolge "gs ps2ai.ps zu_konvertierende_Datei.ps" lediglich das Konvertierungsergebnis in der Shell ausgeben würde, leiten wir mit ">RAM:neue_Datei.ai" die Ausgabe in die Datei "neue_Datei.ai" in der RAM- Disk um. Selbstverständlich kann für die Ausgabeumleitung anstelle der RAM- Disk auch ein beliebiges Verzeichnis auf der/den Amiga-Festplatte(n) benutzt werden. Für unser konkretes Beispiel lautet so der komplette Aufruf "gs >RAM:Tiger.ai ps2ai.ps examples/tiger.ps". Screenshot: Mehr oder weniger kurze Zeit nach ihrem Postscript-Absprung ist die Großkatze als AI-Tiger gelandet, zumindest fast: Da AFPL Ghostscript in den ersten vier Zeilen der AI-Dateien Hinweise zu sich selbst und den verwendeten Fonts ohne Voranstellung der Kommentareinleitung "%%" vermerkte, mussten diese Zeilen in einem Texteditor entweder zuvor entfernt oder der Anfang jeder Zeile mit "%%" versehen werden, bevor Adobe Illustrator die AI-Datei als solche akzeptierte. 3.2 In der Destille Hier soll es nicht um hochprozentige, mehr oder wenig gut schmeckende Flüssigkeiten gehen, vielmehr versetzen wir den Interpreter in die Lage, Postscript-Dateien in das PDF-Format zu wandeln. Und hier kommt auch gleich ein großer Vorteil der aktuellen Version 6.50 gegenüber der alten 5.10 zum tragen: Fonts können als solche in einem zu erstellenden PDF-Dokument eingebettet werden. Ghostscript 5.10 und auch andere PDF-erstellende Programme auf dem Amiga wandeln diese Fonts zumeist in Bitmaps um. Dies bläht die erstellte PDF- Datei erheblich auf und sorgt außerdem für eine sehr bescheidene Schriftqualität. Ghostscript 6.50 kann diese Klippe bei der Umwandlung der meisten Postscript-Dateien elegant umschiffen. Wieder soll ein Beispiel die Vorgehensweise demonstrieren: In der RAM-Disk liegt die Postscript-Datei "shell.ps", über das Device "pdfwrite" wird diese nach PDF gewandelt und als "shell.pdf" erneut in der RAM-Disk abgelegt. Screenshot: Da Ghostscript bei der interaktiven Bearbeitung nach jeder konvertierten Seite auf eine Bestätigung für die Bearbeitung der nachfolgenden Seite wartet, könnt ihr bei umfangreichen Dokumenten den Interpreter mit dem Kommando "-dNOPAUSE" überreden, alle Seiten in einem Rutsch zu bearbeiten. Soll sich Ghostscript nach getaner Arbeit selbständig beenden, hilft der Schalter "-dBATCH". 3.3 Von PDF nach Postscript Was zumeist mit sehr brauchbaren Ergebnissen von PS nach PDF funktioniert, gelingt ebenso in der Konvertierung von PDF nach Postscript. Die Vorgehensweise entspricht der der PS-nach-PDF-Konvertierung, nur dass diesmal das Device "pswrite" zum Zuge kommt. Aus einem 18seitigen Folien- Satz zur Knoppix-CD [2] sollen in unserem Fall lediglich die Seiten 17 und 18 ins Postscript-Format umgesetzt werden, deshalb erzwingt der Schalter "-dFirstpage=17" die Ignorierung der ersten 16 Seiten. Screenshot: Die in den PDF-Dokumenten eventuell vorhandenen interaktiven Links könnt ihr in dem erstellen PS-Dokument, obwohl abgebildet, prinzipbedingt natürlich nicht mehr nutzen. Dafür steht einem "Durch"-Blättern des Dokuments nichts im Wege. 4. Und tschüs So, jetzt habt ihr genug Material, um intensiv mit Ghostscript spielen und die Zeit bis zum nächsten Teil überbrücken zu können. :) Wenn alles wie geplant verläuft, schauen wir uns dann das Extrahieren von Inhaltsbestandteilen, wie Textpassagen und Bilder, aus PDF-Dateien und das Drucken der PS- und PDF-Dokumente ein wenig näher an. [1] im Aminet unter /gfx/conv/GS650-xxx.lha [2] http://www.knopper.net Uwe Pannecke <Uwe.Pannecke@t-online.de> |